package com.duduso.gerador.comum;

import com.duduso.gerador.util.Mensagens;
import java.io.File;
import javax.swing.JFileChooser;

/**
 *
 * @author duduso
 */
public class SelecaoArquivo extends JFileChooser {

    private String extensaoArquivo;

    public SelecaoArquivo(String extensaoArquivo) {
        this.extensaoArquivo = extensaoArquivo;
        if (extensaoArquivo != null) {
            addChoosableFileFilter(new FiltroArquivo(extensaoArquivo));
        }
    }

    public File selecionarArquivo() {
        int res = showOpenDialog(null);
        if (res == APPROVE_OPTION) {
            if (this.extensaoArquivo != null) {
                if (getSelectedFile().getPath().toLowerCase().endsWith(this.extensaoArquivo.toLowerCase())) {
                    return getSelectedFile();
                } else {
                    Mensagens.getInstance().exibirMensagemErro(null, "formato_arquivo_invalido");
                    return null;
                }
            } else {
                return getSelectedFile();
            }
        } else {
            Mensagens.getInstance().exibirMensagemErro(null, "nenhum_arquivo_selecionado");
            return null;
        }
    }

    public static SelecaoArquivo getInstance(String extensaoArquivo) {
        return new SelecaoArquivo(extensaoArquivo);
    }
    
}
